package com.party.core.service.analysis;

import com.party.common.paging.Page;
import com.party.core.model.analysis.StatisticsEvent;
import com.party.core.service.IBaseService;

import java.util.List;
import java.util.Map;

/**
 * @program: party-temp
 * @description: 统计事件接口
 * @author: Huaqunhao
 * @create: 2018-08-01 11:49
 **/
public interface IStatisticsEventService extends IBaseService<StatisticsEvent> {
    List<StatisticsEvent> listAll();

    StatisticsEvent getByCode(String code);

    StatisticsEvent getEvent(StatisticsEvent statisticsEvent);

    List<StatisticsEvent> queryEventList();

    List<StatisticsEvent> countList(Map<String, Object> map);//统计指定日期的数据

    List<StatisticsEvent> webListPage(StatisticsEvent statisticsEvent,
                                      Map<String, Object> params, Page page);

    Long getEventNum(String eventId, Map<String, Object> params);

    /**
     * 通过传入的页面统计实体参数及其他可能的附加条件，构造分页的查询结果
     *
     * @param eventCounter
     * @param params
     * @param page
     * @return
     */
    List<StatisticsEvent> listPageByOthers(StatisticsEvent eventCounter, Map<String, Object> params, Page page);

    List<StatisticsEvent> listPageByOrgIds(StatisticsEvent eventCounter, Map<String, Object> params, Page page);
}
